Thursday, December 31, 2015

Towards Understanding Multiscale Modeling

I've been interested in multiscale modeling lately, and this post is an attempt to collect some resources and clarify some of my understanding of the topic.

Some places to start are the wikipedia entry and the scholarpedia entry.   Go more in-depth with the book "Principles of Multiscale Modeling". Also this review (pdf) (From 2000, but still a good overview of an array of fields and problems).

There are some other 'multi's that may be encountered in modeling:
  • Multiphysics - combining multiple physical models in a single simulation.  For instance, a thermal model and a mechanical model where the mechanical properties are temperature-dependent.  Usually the models occur on the same length scale (vs. multiscale)
  • Multigrid - method of accelerating a solution and bridging the largest and smallest lengths in a single model.  Typically using grids of different resolution.
  • Multiscale - combining models at different length (or time, energy) scales

What defines a 'scale'?

Each scale consists of a self-contained theory (or model),  approximations for solution (often these approximations come to define variants of each model), and validation by experiments (carefully designed to probe at this scale, and isolate the influence of other scales).

Transitioning between scales often involves a qualitative change in the type of theory (particle-based, continuum modeled with PDE, network of coupled ODE's, etc.)   The "self-contained" part usually implies a small number of input parameters.  Some of this is practical - if the scale had too many inputs it would be hard to understand, hard to reason about, and hard to compute.
The simplest type of multiscale modeling is sequential (also called 'hierarchical'), where a lower level model is used to derive parameters for a higher level model.  For instance, using electronic structure methods to find parameters for empirical potentials in an atomistic simulation.
The other type is concurrent modeling (in some cases called 'on the fly'), where simulations at different scales are done at the same time.  In the example above, the atomistic simulation would call down to the electronic structure simulation as needed to get necessary parameters.  Alternately, if it is not possible to parameterize the potential, the atomistic simulation would get forces and energies directly from the electronic structure simulation.

Multiscale in Materials

This whole process seems most developed for engineering certain metals and alloys, where it's called Integrated Computational Materials Engineering.

The book "Integrated Computational Materials Engineering for Metals: Using Multiscale Modeling to Invigorate Engineering Design with Science" has some case studies, including one on the design of a Cadillac control arm, covering the scales from electronic structure (DFT) to the final mechanical design of arm.  I found it helpful to have a specific example running the entire range.

Scales encountered for materials problems include
  • electronic structure
  • atomic motion
  • dislocations
  • voids and other microstructures
  • continuum description
  • engineering design (using FEA - Finite Element Analysis)
The Minerals, Metals and Materials Society (TMS) produced a report that covers the current state and challenges for the field: "Modeling Across Scales: A Roadmapping Study for connecting materials models across length and time scales"


Multiscale in Biology

There are a lot of directions to go when building upward from electronic structure. Another possibility is biology.  This article is a good overview:
"Multiscale computational models of complex biological systems".
 Scales encountered include

  • genetic
  • protein
  • pathway and signaling
  • whole cell
  • cell network and tissue
  • whole organ
  • multisystem and organism
(And in some cases, this could go higher to populations and ecosystems)


Multiscale in Computing

It may be instructive to compare with various scales in computing
  • materials (doped silicon, etc)
  • transistors
  • gates
  • larger logic assemblies (shift registers, adders, etc)
  • processors (CPU)
  • assembly language
  • low level programming language
  • high level programming language
  • operating system
  • applications
  • large-scale distributed systems

Now perhaps not every hierarchical description of abstractions should be considered 'multiscale', but it may be worth considering the similarities and differences.

One of those differences is where engineering (control) can occur.  For computing, the entire stack is engineered.  For materials, points of control are composition, manufacturing process, and component design.  For drug design in biology, the only point of control/design is the drug molecule.  All the effects above that level are no longer under direct control - understanding how these effects propagate through the scales is very difficult problem.

General Approaches

One of the limiting factors is how much computer time it takes to solve the model at each scale. Approaches for speeding up existing models (via multigrid or reducing the degrees of freedom) start to merge with methods for generating models for higher scales.  One approach is systematic upscaling, based on multigrid and renormalization ideas.  See Principles of Systematic Upscaling (pdf).
 
Another approach is called Heterogeneous Multiscale Modeling (HMM)  See this overview page and a review article (pdf)


Connections to QMC

Given this blog is focused on QMC, how these multiscale ideas might relate to QMC.  Solving the electronic structure problem forms the lowest level of the hierarchy (for practical engineering problems, anyway).  Can we speed up QMC calculations, possibly through creating reduced-order models?  Also, can existing information (previous runs on the same system, or information from higher levels) be used to speed the calculation?

Friday, August 21, 2015

Using the density in QMC


A while ago, I made a small post wondering about Levy constrained search in QMC?
That post was idle speculation, but there have been some papers published seriously exploring the idea for combining DFT and QMC.

The series of papers:
[1] Electronic Energy Functionals: Levy-Lieb principle within the Ground State Path Integral Quantum Monte Carlo (L. Delle Site, L. M. Ghiringhelli, D. Ceperley, May 2012)

[2] Levy-Lieb Principle meets Quantum Monte Carlo (L. Delle Site, Nov 2013)

[3] Levy-Lieb principle: The bridge between the electron density of Density Functional Theory and the wavefunction of Quantum Monte Carlo  (L. Delle Site, Nov 2014)

And two related earlier papers:
Levy-Lieb constrained-search formulation as a minimization of the correlation functional (L. Delle Site, Apr 2007)
The design of Kinetic Functionals for Many-Body Electron Systems : Combining analytical theory with Monte Carlo sampling of electronic configurations (L. M. Ghiringhelli, L. Delle Site, Nov 2007)

(Dates are submission dates to arXiv, not publication dates)

Key issues when combining DFT and QMC:
  1. How to compute density functionals from a QMC calculation?
    There are two ways to go about this:
    1. Invert the samples to find a functional.
      To understand this we need to know a little bit about Orbital-Free Density Functional Theory.   While the foundation of Density Functional Theory is that the ground state energy is a functional of the density, in practice it is a complicated functional (particularly the kinetic energy piece).   The standard approach is to reintroduce orbitals, which can accurately compute the kinetic energy but also at a cost in performance.   Finding a sufficiently accurate functional without needing orbitals could greatly speed up DFT calculations.  Machine learning techniques are starting to be used to compute complicated functionals (see Finding Density Functionals with Machine Learning )
      This approach could yield useful, transferable functionals.
    2. Use the QMC sampling to perform the integral over the functional (see [2]).   There is no need for an explicit expression of the functional.
  2. How to use a given density in a QMC calculation?
    In [1], the authors propose the use of Ground State Path Integrals (GSPI), with some additional thoughts on how to sample at fixed density in [2].
    The reason for using GSPI is that the trial wavefunction affects efficiency, but not necessarily the final result, and the addition of a density constraint may speed up sampling.   Compare with a VMC approach, where a minimization of the parameters at the fixed density would still be needed (and of course the accuracy would still be limited by the flexibility of the trial wavefunction).

The final proposal is to make the process iterative - use DFT to compute the density, use GSPI to compute new integrals over the functionals (as in 1B),  use those to recompute the DFT density, etc.

It seems like an intriguing proposal, and I'm curious to see how well it would work on a realistic problem ([2] proposes a helium dimer as a good test case).